对APP渗透测试时要注意哪些问题
对APP渗透测试时要注意以下问题:
不安全的中间件:服务器为提供完整的服务所使用的各个中间件,由于未及时更新或未启用安全的配置可能引发安全漏洞,导致服务器存在遭受攻击的风险,如IIS文件名解析漏洞、Weblogic反序列化漏洞、SMB远程命令执行漏洞等,攻击者可通过这些漏洞获取服务器敏感信息、执行恶意命令,甚至获取服务器管理员权限。
认证与会话管理:服务器提供的身份认证和会话管理机制存在安全漏洞,如系统关键组件或应用使用弱口令,对于高安全级别的系统未采用双因子认证方式,无防止认证口令或验证码暴力破解攻击的机制,未对SessionID的生成、过期和销毁进行安全配置等,攻击者可利用这些漏洞在非授权的情况下登录系统并执行恶意操作。
访问控制:开发者未对用户登录系统后的操作进行进一步的访问权限控制,服务端对从客户端收到的对数据进行增、删、改、查询等操作的请求未进行鉴权处理,导致攻击者可执行超出自身账户权限的操作。
注入:应用运行时可能需要调用一些向前端写入内容、查询数据或执行系统命令的函数,如果用户能控制这些函数的输入,而开发者未对输入的内容进行严格的过滤,攻击者可以在前端提交恶意构造的输入,进行XSS注入、SQL注入、命令注入等攻击,从而导致服务器重要数据泄露或执行恶意命令。
应用层拒绝服务:服务器未对应用的最大连接数或发起请求的IP和频率进行限制,攻击者通过并发大量的请求或构造畸形的数据包,如CC攻击、Slowloris攻击,造成系统资源耗尽,导致服务器拒绝服务。
密码算法和密钥管理:应用使用已被证明为不安全的密码算法对重要数据的传输和存储进行加解密,如使用MD5算法对用户口令进行存储,使用DES算法对数据进行加密传输,可能导致攻击者获取密文后短时间内恢复出明文信息;应用使用不安全的方式进行密钥管理,如将系统使用的密钥明文编码在应用代码中或在服务器配置文件中明文存储,将导致攻击者轻易获取数据加解密密钥,进而得到加密数据的明文信息。